// pages/create/money.js
const app = getApp()
var common = require("../../common.js")
Page({

  /**
   * 页面的初始数据
   */
  data: {
    gid:0,
    prizeMoney:'',
    num:1,
    min:1,
    totalMoney:0,    
    canPay:false,
    canRelay:'允许',
    canBet:'关闭',
	  showTip:false,
    qa: [
      { q: '什么是对擂', a: '开启对擂时，要求好友必须充值1元钱作为保证金，如果好友成功找到目标，那么保证金退还好友，如果没有找到，则保证金在扣除平台服务费后归游戏发起人所有' },
      { q: '是否允许转发', a: '如禁止转发，那么游戏只能由您分享，您的好友不能再作分享，可以防止好友作弊唷' },
      { q: '奖金怎么提现', a: '点击提现，系统就会打款到您的微信钱包中' },
      { q: '没发出去的奖金会还给我吗', a: '游戏上线7天后，如奖金仍未发完，可以到游戏界面申请退回' },
      { q: '什么是平台服务费', a: '服务费由微信平台收取及支付服务器费用' },
      ],
  },
  onLoad: function (params) {
    console.log('-----------money load-----');
    if (typeof params.gid != 'undefined' && parseInt(params.gid)>0){
      this.data.gid = parseInt(params.gid);
      this.setData({
        serviceScale: app.globalData.feeScale,
      });
      
    }else{
      wx.showModal({
        title: '错误',
        content: '未指定游戏，不可以进行充值',
        success:function(e){
          wx.navigateBack({
            delta:1
          })
        }
      })
    }
    
  },
  //出现
  showTip: function () {
    this.setData({ showTip: true })
  },
  //消失
  hideTip: function () {
    this.setData({ showTip: false })
  },
  changeMoney:function(e){
    console.log(e);
    this.data.prizeMoney = e.detail.value * 1;
    var fee = Math.ceil(this.data.prizeMoney * this.data.serviceScale) / 100;

    var totalMoney = this.data.prizeMoney + fee
    this.setData({
      totalMoney: totalMoney.toFixed(2)
    }
    )
  },
  switch1Change:function(e){
      var canBet='关闭'
      if(e.detail.value){
        canBet="开启";
      }
      this.setData({
        canBet: canBet
      });
  },
  switch2Change: function (e) {
    var canRelay = '禁止'
    if (e.detail.value) {
      canRelay = "允许";
    }
    this.setData({
      canRelay: canRelay
    });
  },
  submitForm:function(e){
    var that = this;
    console.log(e);
    var isBet = 0;
    if (e.detail.value.isBet){
      isBet=1;
    }

    var isRelay=0;
    if (e.detail.value.relay) {
      isRelay = 1;
    }

    var data={
      prizeMoney:e.detail.value.prizeMoney,
      num:e.detail.value.num,
      min:e.detail.value.min,
      isBet:isBet,
      relay: isRelay,
      gid:that.data.gid
    }
    wx.showLoading({
      title: '正在提交...',
    })
   common.request(
   {
        url:'c=Game&a=buildOrder',
        data: data, 
        success:function(re){
          console.log(re);
          if(re.status==0){
            that.pay(re.totalMoney,re.gid.toString());
          }else{          
            wx.hideLoading(); 
            wx.showModal({
              title: '出现错误',
              content: re.msg,
            })
          }
        },
        fail:function(re){
          wx.hideLoading();
        },
        complete:function(re){}
      }
    );
    
    //
  },
  pay:function(fee,gid){//fee单位：元    
    var payInfo={
      body:'找我唷红包设置',
      total_fee: fee,
      order_sn:'g_'+gid
    }
    this.basePay(payInfo, function (e) {     
      wx.showLoading({
        title: '正在确认支付情况',
      })  
      common.request({
        url: 'c=Index&a=checkPayStatus',
        data: { 'id': gid, 'type': 'g' },
        success: function (result) {
          if (result.status==0 && result.payStatus==1){
            wx.showModal({
              title: '消息',
              content: '支付成功！',
              complete:function(){
                wx.navigateTo({
                  url: 'detail?id=' + gid,
                })
              }
            })        
          }
        },
        complete: function () {
          wx.hideLoading();
        }
      })

      
     }, function (e) { 
       


      });
  },

  /** 
 * 支付函数 
 * @param  {[type]} _payInfo [description] 
 * @return {[type]}          [description] 
 */
  basePay: function (_payInfo, success, fail) {
    var payInfo = {
      body: '',
      total_fee: 0,
      order_sn: ''
    }
    Object.assign(payInfo, _payInfo);
    if (payInfo.body.length == 0) {
      wx.showToast({
        title: '支付信息描述错误'
      })
      return false;
    }
    if (payInfo.total_fee == 0) {
      wx.showToast({
        title: '支付金额不能0'
      })
      return false;
    }
    if (payInfo.order_sn.length == 0) {
      wx.showToast({
        title: '订单号不能为空'
      })
      return false;
    }
    var This = this;

      payInfo.openid = app.globalData.openId;
      common.request({
        url: 'c=Pay&a=prepay',
        data: payInfo,
        success: function (res) {
          if (!res.status) {
            wx.showToast({
              title: res['errmsg']
            })
            return false;
          }
          var data = res.data;         
          common.request({
            url: 'c=Pay&a=pay',
            data: { prepay_id: data.data.prepay_id },
            success: function (_payResult) {
              wx.hideLoading();
              var payResult = _payResult;              
              wx.requestPayment({
                'timeStamp': payResult.timeStamp.toString(),
                'nonceStr': payResult.nonceStr,
                'package': payResult.package,
                'signType': payResult.signType,
                'paySign': payResult.paySign,
                'success': function (succ) {
                  success && success(succ);
                },
                'fail': function (err) {
                  fail && fail(err);
                },
                'complete': function (comp) {

                }
              })
            }
          })
        }
      })

  }  
})